import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
import menus from './modules/menus'

// console.log(user, 'user')

// require.context() 是用来加载指定目录下的文件(模块)
// 语法：require.context('指定的目录的路径','Boolean是否递归获取','正则规则匹配指定的文件')
// const req = require.context('./modules', false, /\.js$/)
// console.log(req.keys(), 'req.keys()') // ['./app.js', './settings.js', './user.js'] 'req.keys()'
// console.log(req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0]))
// console.log(req.keys().map(req), 'req.keys().map(req)') // [Module, Module, Module] Module.default
// Module.default  --->   import user from './modules/user'

// const mdName = req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0]) // ['app', 'settings', 'user']
// const mdM = req.keys().map(req) // [Module, Module, Module] Module.default

// const obj = {}

// mdName.forEach((item, index) => {
//   obj[item] = mdM[index].default
// })

// console.log(obj, 'obj')

Vue.use(Vuex)

const store = new Vuex.Store({
  modules: {
    app,
    settings,
    user,
    menus
  },
  getters
})

export default store
